package com.sgroup.studycountry.support.page;

import lombok.Data;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * @author umi
 * @date 2021/9/25 17:30
 */

@Data
public class PageOutPut<T> {
    /**
     * 页面大小
     */
    private int size;

    /**
     * 页数
     */
    private int page;

    /**
     * 元素总数量
     */
    private long totalElements;

    /**
     * 总页数
     */
    private int totalPages;

    /**
     * 页面内容
     */
    private List<T> elements;

    public static <T> PageOutPut<T> of(Page<T> page) {
        PageOutPut<T> pageOutPut = new PageOutPut<T>();
        pageOutPut.setElements(page.getContent());
        pageOutPut.setPage(page.getNumber());
        pageOutPut.setSize(page.getSize());
        pageOutPut.setTotalElements(page.getTotalElements());
        pageOutPut.setTotalPages(page.getTotalPages());
        return pageOutPut;
    }
}
